package com.huiyi.doctor.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.huiyi.common.annotation.Excel;
import com.huiyi.common.core.domain.BaseEntity;

/**
 * 医生信息对象 doctor
 * 
 * @author zfz
 * @date 2024-11-13
 */
public class Doctor extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 医生ID */
    private Long doctorId;

    /** 医生姓名 */
    @Excel(name = "医生姓名")
    private String name;

    /** 医生照片URL */
    @Excel(name = "医生照片URL")
    private String photoUrl;

    /** 医生职称 */
    @Excel(name = "医生职称")
    private String docotrTitle;

    /** 医生专科 */
    @Excel(name = "医生专科")
    private String specialty;

    /** 医生简介 */
    @Excel(name = "医生简介")
    private String bio;

    /** 工作年限 */
    @Excel(name = "工作年限")
    private Long experienceYears;

    /** 可预约时间范围（如上午9:00-12:00，下午14:00-18:00） */
    @Excel(name = "可预约时间范围", readConverterExp = "如=上午9:00-12:00，下午14:00-18:00")
    private String availableTimes;

    /** 挂号费，默认5.00 */
    @Excel(name = "挂号费，默认5.00")
    private BigDecimal registrationFee;

    /**  */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "", width = 30, dateFormat = "yyyy-MM-dd")
    private Date availableDate;

    public void setDoctorId(Long doctorId) 
    {
        this.doctorId = doctorId;
    }

    public Long getDoctorId() 
    {
        return doctorId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setPhotoUrl(String photoUrl) 
    {
        this.photoUrl = photoUrl;
    }

    public String getPhotoUrl() 
    {
        return photoUrl;
    }
    public void setDocotrTitle(String docotrTitle) 
    {
        this.docotrTitle = docotrTitle;
    }

    public String getDocotrTitle() 
    {
        return docotrTitle;
    }
    public void setSpecialty(String specialty) 
    {
        this.specialty = specialty;
    }

    public String getSpecialty() 
    {
        return specialty;
    }
    public void setBio(String bio) 
    {
        this.bio = bio;
    }

    public String getBio() 
    {
        return bio;
    }
    public void setExperienceYears(Long experienceYears) 
    {
        this.experienceYears = experienceYears;
    }

    public Long getExperienceYears() 
    {
        return experienceYears;
    }
    public void setAvailableTimes(String availableTimes) 
    {
        this.availableTimes = availableTimes;
    }

    public String getAvailableTimes() 
    {
        return availableTimes;
    }
    public void setRegistrationFee(BigDecimal registrationFee) 
    {
        this.registrationFee = registrationFee;
    }

    public BigDecimal getRegistrationFee() 
    {
        return registrationFee;
    }
    public void setAvailableDate(Date availableDate) 
    {
        this.availableDate = availableDate;
    }

    public Date getAvailableDate() 
    {
        return availableDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("doctorId", getDoctorId())
            .append("name", getName())
            .append("photoUrl", getPhotoUrl())
            .append("docotrTitle", getDocotrTitle())
            .append("specialty", getSpecialty())
            .append("bio", getBio())
            .append("experienceYears", getExperienceYears())
            .append("availableTimes", getAvailableTimes())
            .append("registrationFee", getRegistrationFee())
            .append("availableDate", getAvailableDate())
            .toString();
    }
}
